#ifndef __UARTX_H
#define __UARTX_H

#include "stdint.h"
#include "main.h"
#include "usart.h"
#include "stdio.h"
#include "string.h"
#include <stdlib.h>

#define HAL_USART			

#define RX_LEN 64

typedef struct{
	uint8_t Header[2], Tail[2]; 
	uint16_t Index; 
	uint8_t RxChar; 
	uint8_t RxBuffer[RX_LEN]; 
	uint8_t Start, Cplt; 
}Uartx_t;


void uartx_process(Uartx_t *u);
Uartx_t* uartx_structInit(const uint8_t *header, const uint8_t *tail);
uint8_t uartx_TaskNumber(Uartx_t *u);
float uartx_DecodeFloat(const uint8_t* bytes);
uint32_t uartx_DecodeInt(const uint8_t* bytes) ;
uint16_t SringToUint16(uint8_t ch[]);

extern Uartx_t *u1;
extern Uartx_t *u2;
extern Uartx_t *u3;

#endif
